const autoprefixer = require("autoprefixer");
const pxtorem = require("postcss-pxtorem");
const path = require("path");
module.exports = {
  publicPath: process.env.NODE_ENV === "development" ? "/" : `${process.env.VUE_APP_BASE_URL}${process.env.VUE_APP_VERSION}/`,
  outputDir: process.env.VUE_APP_VERSION.replace(/\//g, '') ? process.env.VUE_APP_VERSION.replace(/\//g, '') : 'mobile',
  assetsDir: "static",
  productionSourceMap: false,
  devServer: {
    open: true, // 自动启动浏览器
    proxy: {
      "/roche2/api": {
        // target: 'http://172.29.95.192:9001/', // 何天琦本地
        target: 'http://172.29.95.146:9005/', // 金浩男本地
        // target: 'http://172.29.95.154:9005/', // 李浩卓本地
        // target: 'https://dev.saas.yuemia.com/',
        // target: 'http://test.market.yuemia.com:8101/',
        changeOrigin: true,
        secure: false,
        pathRewrite: {
          '^/roche2/api': ''
        }
      }
    }
  },
  css: {
    loaderOptions: {
      postcss: {
        plugins: [
          autoprefixer(),
          pxtorem({
            rootValue: 50,
            propList: ["*"]
          })
        ]
      }
    }
  },
  chainWebpack: config => {
    // svg
    // 清除已有的所有 loader。
    config.module.rules.delete("svg");
    // 如果你不这样做，接下来的 loader 会附加在该规则现有的 loader 之后。
    // const svgRule = config.module.rule('svg')
    // svgRule.uses.clear()

    // 添加要替换的 loader
    config.module
      .rule("svg-sprite-loader")
      .test(/\.svg$/)
      .include.add(resolve("src/assets/icons"))
      .end()
      .use("svg-sprite-loader")
      .loader("svg-sprite-loader")
      .options({
        symbolId: "icon-[name]"
      });
    // 设置路径别名
    config.resolve.alias
      .set('@', resolve('src'))
      .set('assets', resolve('src/assets'))
  },
  pluginOptions: {
    "style-resources-loader": {
      preProcessor: "stylus",
      patterns: [
        path.resolve(__dirname, "src/assets/styles/variable.styl"),
        path.resolve(__dirname, "src/assets/styles/mixin.styl")
      ]
    }
  }
};

function resolve(dir) {
  return path.join(__dirname, ".", dir);
}
